//#define _CRT_SECURE_NO_WARNINGS 1
//#include <iostream>
//#include <queue>
//
//using namespace std;
//typedef pair<int, int> pii;
//queue<pii> q;
//char wall[2][200010];
//int st[2][200010] = { 0 };
//int dx[3] = { 0,1,-1 };
//int dy[3] = { 1,0,0 };
//int Max = 0;
//
//void dfs(int sx, int sy, int n,int num)
//{
//	int i = 0;
//	int xx, yy;
//	for (i = 0; i < 3; i++)
//	{
//		xx = sx + dx[i];
//		yy = sy + dy[i];
//		if (xx >= 2 || xx < 0) continue;
//		if (yy >= n || yy < 0) continue;
//		if (wall[xx][yy] == 'W') continue;
//		if (st[xx][yy] == 1) continue;
//		st[xx][yy] = 1;
//		dfs(xx, yy, n,num+1);
//		st[xx][yy] = 0;
//	}
//	if (num > Max)Max = num;
//}
//int main()
//{
//	int t = 0;
//	cin >> t;
//	int n = 0;
//	while (t--)
//	{
//
//		int B = 0;
//		cin >> n;
//		for (int i = 0; i < 2; i++)
//		{
//			for (int j = 0; j < n; j++)
//			{
//				cin >> wall[i][j];
//				if (wall[i][j] == 'B') B++;
//			}
//		}
//		if (wall[0][0] == 'B')
//		{
//			st[0][0] = 1;
//			dfs(0, 0, n,1);
//			st[0][0] = 0;
//		}
//
//		if (wall[1][0] == 'B')
//		{
//			st[1][0] = 1;
//			dfs(1, 0, n, 1);
//			st[1][0] = 0;
//
//		}
//		if (Max == B) cout << "YES" << endl;
//		else cout << "NO" << endl;
//		Max = 0;
//	}
//	return 0;
//}